// This example shows information available about OPC event condition. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using System.Diagnostics; using System.Collections.Generic; using OpcLabs.EasyOpc.AlarmsAndEvents; using OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples.AlarmsAndEvents._AEConditionElement { class Properties { static void DumpSubconditionNames(IEnumerable<string> subconditionNames) { foreach (string name in subconditionNames) Console.WriteLine(" {0}", name); } public static void Main1() { // Instantiate the client object. var client = new EasyAEClient(); AECategoryElementCollection categoryElements; try { categoryElements = client.QueryEventCategories("", "OPCLabs.KitEventServer.2"); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } foreach (AECategoryElement categoryElement in categoryElements) { Debug.Assert(categoryElement != null); Console.WriteLine("Category {0}:", categoryElement); foreach (AEConditionElement conditionElement in categoryElement.ConditionElements) { Debug.Assert(conditionElement != null); Console.WriteLine(" Information about condition \"{0}\":", conditionElement); Console.WriteLine(" .Name: {0}", conditionElement.Name); Console.WriteLine(" .SubconditionNames:"); DumpSubconditionNames(conditionElement.SubconditionNames); } } } } }
' This example shows information available about OPC event condition. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.AlarmsAndEvents Imports OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace Imports OpcLabs.EasyOpc.OperationModel Namespace AlarmsAndEvents._AEConditionElement Friend Class Properties Private Shared Sub DumpSubconditionNames(ByVal subconditionNames As IEnumerable(Of String)) For Each name As String In subconditionNames Console.WriteLine(" {0}", name) Next name End Sub Public Shared Sub Main1() Dim client = New EasyAEClient() Dim categoryElements As AECategoryElementCollection Try categoryElements = client.QueryEventCategories("", "OPCLabs.KitEventServer.2") Catch opcException As OpcException Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message) Exit Sub End Try For Each categoryElement As AECategoryElement In categoryElements Debug.Assert(categoryElement IsNot Nothing) Console.WriteLine("Category {0}:", categoryElement) For Each conditionElement As AEConditionElement In categoryElement.ConditionElements Debug.Assert(conditionElement IsNot Nothing) Console.WriteLine(" Information about condition ""{0}"":", conditionElement) Console.WriteLine(" .Name: {0}", conditionElement.Name) Console.WriteLine(" .SubconditionNames:") DumpSubconditionNames(conditionElement.SubconditionNames) Next conditionElement Next categoryElement End Sub End Class End Namespace
Rem This example shows information available about OPC event condition. Rem Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript . Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own Rem a commercial license in order to use Online Forums, and we reply to every post. Option Explicit Const AEEventTypes_All = 7 Dim ServerDescriptor: Set ServerDescriptor = CreateObject("OpcLabs.EasyOpc.ServerDescriptor") ServerDescriptor.ServerClass = "OPCLabs.KitEventServer.2" Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient") On Error Resume Next Dim CategoryElements: Set CategoryElements = Client.QueryEventCategories(ServerDescriptor, AEEventTypes_All) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Dim CategoryElement: For Each CategoryElement In CategoryElements WScript.Echo "Category " & CategoryElement & ":" With CategoryElement Dim ConditionElement: For Each ConditionElement In .ConditionElements WScript.Echo Space(4) & "Information about condition """ & ConditionElement & """:" With ConditionElement WScript.Echo Space(8) & ".Name: " & .Name WScript.Echo Space(8) & ".SubconditionNames:" Dim subconditionNames: subconditionNames = .SubconditionNames ' Note: In VBScript, cannot directly write .SubconditionNames(i); it considers it an indexed property instead. Dim i: For i = LBound(subconditionNames) To UBound(subconditionNames) WScript.Echo Space(12) & subconditionNames(i) Next End With Next End With Next
# This example shows information available about OPC event condition. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.AlarmsAndEvents import * from OpcLabs.EasyOpc.OperationModel import * def dumpSubconditionNames(subconditionNames): for name in subconditionNames: print(' ', name, sep='') # Instantiate the client object. client = EasyAEClient() try: categoryElements = IEasyAEClientExtension.QueryEventCategories(client, '', 'OPCLabs.KitEventServer.2') except OpcException as opcException: print('*** Failure: ' + opcException.GetBaseException().Message, sep='') exit() # Display results for categoryElement in categoryElements: assert categoryElement is not None print('Category ', categoryElement, sep='') for conditionElement in categoryElement.ConditionElements: assert conditionElement is not None print(' Information about condition "', conditionElement, '":', sep='') print(' .Name: ', conditionElement.Name, sep='') print(' .SubconditionNames:') dumpSubconditionNames(conditionElement.SubconditionNames)
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved.
Documentation Home, Send Documentation Feedback. Technical Support